package com.zhuoyue.biz.core.command.constant;

/**
 * @author wjming
 * @ClassName: AutomateCmdDeal
 * @Description:
 * @Date 2021-07-14 15:38
 */
public interface AutomateCmdDeal {

    interface AutomateDealType {

        /**
         * 联动配置
         */
        String AUTOMATE_CONFIGURE = "AUTOMATE_CONFIGURE";

        /**
         * 联动载入
         */
        String AUTOMATE_LOAD = "AUTOMATE_LOAD";

        /**
         * 联动触发
         */
        String AUTOMATE_TRIGGER = "AUTOMATE_TRIGGER";

        /**
         * 场景/联动删除
         */
        String AUTOMATE_CLEAR = "AUTOMATE_CLEAR";

    }

    /**
     * 联动配置
     *
     * @author Administrator
     */
    interface AutomateConfigure {

        /**
         * 1
         * 帧头
         * 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2
         * 数据长度
         * 通过计算获取
         * cmd_2
         */

        /**
         * 3
         * 命令标识
         * 固定参数
         */
        public static String CMD_3 = "50";

        /**
         * 4
         * 命令对象
         * 固定参数
         * 自身
         */
        public static String CMD_4 = "00";

        /**
         * 5
         * 网关mac地址
         * 前端传参
         * cmd_5
         */

        /**
         * 6
         * 数据长度
         * 自子命令开始至校验和前一位结束
         * 通过计算获取
         * cmd_6
         */

        /**
         * 7
         * 子命令标识
         * 固定参数
         */
        public static String CMD_7 = "01";

        /**
         * 8
         * 固定参数
         */
        public static String CMD_8 = "0000000000000000000000000000000000000000";

        /**
         * 9
         * 配置属性 02：表示联动
         * 固定参数
         */
        public static String CMD_9 = "02";

        /**
         * 10
         * 联动编号
         * 前端传参
         * cmd_10
         */

        /**
         * 11
         * 固定参数
         */
        public static String CMD_11 = "00";



        /**
         * 13
         * 固定参数
         */
        public static String CMD_13 = "FFFFFF";

        /**
         * 14
         * 01：强制联动  02：非强制联动
         * 暂时默认为非强制联动
         */
        public static String CMD_14 = "02";

        /**
         * 15
         * 启用/禁用状态标志字节，01为启用；02为禁用；若强制联动为FF
         * 暂时固定为FF
         */
        public static String CMD_15 = "01";

        /**
         * 16
         * 布放/撤防联动标志字节，01为布防有效，02为撤防有效，若强制联动为FF
         * 暂时固定为FF
         * 默认 03 都有效
         */
//		public static String CMD_16 = "FF";
        public static String CMD_16 = "03";

        /**
         * 17
         * 发起联动的设备mac地址
         * 前端传参
         * cmd_17
         */

        /**
         * 18
         * 数据比较通道为01，01代表A路；02代表B路；03代表C路
         * 该处默认为01
         * 固定参数
         */
        public static String CMD_18 = "01";

        /**
         * 19
         * 联动设备数据类型为01，-Hex型为01；BCD型为02
         * 该处默认为01
         * 固定参数
         */
        public static String CMD_19 = "01";

        /**
         * 20
         * 联动设备数据和阈值数据比较类型
         * 该处默认为01
         * 固定参数
         */
        public static String CMD_20 = "01";

        /**
         * 21
         * 联动时间段设置0点~24点，在时间段内才可以进行联动，单位小时
         * 默认全部执行
         * 固定参数
         */
        public static String CMD_21 = "0018";

        /**
         * 22
         * 阈值数据/阈值下限数据为00 00 00 01
         * 前端传参
         * 对应传感器的状态值
         * CMD_22
         */


        /**
         * 23
         * 阈值上限数据
         * 默认FFFFFFFF
         * 固定参数
         */
        public static String CMD_23 = "FFFFFFFF";

        /**
         * 24
         * 联动延时执行时间
         * 默认不延时
         * 固定参数
         */
        public static String CMD_24 = "0000";

        /**
         * 25
         * 校验和
         * 通过计算获取
         * cmd_25
         */

        /**
         * 26
         * 帧尾
         * 固定参数
         */
        public static String CMD_26 = "23";


    }


    /**
     * 联动设备控制命令载入
     *
     * @author Administrator
     */
    interface AutomateLoad {

        /**
         * 1
         * 帧头
         * 固定参数
         */
        public static String CMD_1 = "2A";

        /**
         * 2
         * 数据长度
         * 通过计算获取
         * cmd_2
         */

        /**
         * 3
         * 命令标识
         * 固定参数
         */
        public static String CMD_3 = "50";

        /**
         * 4
         * 命令对象
         * 固定参数
         */
        public static String CMD_4 = "00";

        /**
         * 5
         * 网关mac地址
         * 前端传参
         * cmd_5
         */

        /**
         * 6
         * 数据长度
         * 通过计算获取
         * 自子命令标识开始至校验和前一位结束
         * cmd_6
         */

        /**
         * 7
         * 子命令标识
         * 固定参数
         */
        public static String CMD_7 = "02";


        /**
         * 13
         * 帧尾
         * 固定参数
         */
        public static String CMD_13 = "23";

        /**
         * 大于等于上限
         */
        public static String CMD_03 = "03";

        /**
         * 小于等于下限
         */
        public static String CMD_04 = "04";

    }


}
